Lịch sử phát triển Bộ trình dịch GNU

Richard Stallman bắt đầu phát triển GCC từ năm 1985. Ông đã mở rộng một trình dịch có sẵn để dịch ngôn ngữ C. Trình dịch nguyên dùng để dịch ngôn ngữ Pastel, một phần mở rộng và không tương thích với ngôn ngữ Pascal, và được viết bằng Pastel. Nó đã được Len Tower và Stallman viết lại bằng ngôn ngữ C,[8] và được cho ra mắt năm 1987[9] trong vai trò là trình dịch cho dự án GNU, nhằm mục đích tạo ra một trình dịch miễn phí. Quá trình phát triển GCC được giám sát bởi quỹ phần mềm tự do[10] Chi tiết về các lịch trình công bố của GCC được đăng tại: http://gcc.gnu.org/releases.html

EGCS

Đến năm 1991, GCC 1.x đã đạt đến độ ổn định, nhưng những hạn chế trong thiết kế đã cản trở nhiều đòi hỏi cải thiện, do đó quỹ phần mềm tự do (FSF) đã bắt đầu phát triển phiên bản 2.x. Nhưng suốt những năm giữa thập kỷ 90, FSF không công khai những gì được đưa thêm vào phiên bản chính thức của GCC 2.x, đến nỗi GCC đã được Eric S. Raymond đưa vào bài luận The Cathedral and the Bazaar của ông - một bài luận về kỹ nghệ phần mềm - như một ví dụ cho mô hình phát triển "cathedral".

Do GCC là phần mềm tự do, nhiều nhà lập trình muốn sử dụng nó để phát triển các ứng dụng dùng ngôn ngữ khác ngôn ngữ C, đã tự do phát triển trình dịch này thành các nhánh khác nhau của riêng mình. Quá nhiều bản phân phối dẫn đến việc khó sử dụng và thiếu hiệu quả, tuy nhiên, phiên bản chính thức thì cũng không làm hài lòng nhiều người do không đáp ứng được nhu cầu sử dụng của họ.

Đến năm 1997, một nhóm các nhà phát triển lấy tên EGCS, đã hợp nhất nhiều nhánh của trình dịch này thành một dự án duy nhất. Quá trình hợp nhất cơ bản được tiến hành ở giữa hai phiên bản 2.7 và 2.81. Các dự án được hợp nhất có cả g77 của Fortran, PGCC (tối ưu GCC), các cải thiện về C++, và nhiều nhánh trên các kiến trúc và hệ điều hành khác nhau.[11][12]

Quá trình phát triển EGCS đã chứng tỏ sự vượt bậc đáng kể hơn so với sự phát triển của GCC, do đó FSF đã chính thức tạm dừng chương trình phát triển GCC 2.x của họ, phiên bản EGCS trở thành bản phân phối chính thức của GCC còn dự án EGCS được bổ nhiệm làm nhiệm vụ bảo trì và phát triển GCC từ tháng 4 năm 1999. Ngoài ra, dự án quyết định chọn mô hình phát triển "bazaar" thay cho mô hình "cathedral". Với phiên bản GCC 2.95 được công bố vào tháng 7 năm 1999, hai dự án một lần nữa đã hợp nhất.

Tài liệu tham khảo

WikiPedia: Bộ trình dịch GNU http://www.freescale.com/webapp/sps/site/overview.... http://www.goof.com/pcg/egcs.html http://groups.google.com/group/comp.lang.misc/msg/... http://www.internetnews.com/dev-news/article.php/3... http://www.internetnews.com/dev-news/article.php/3... http://linuxmafia.com/faq/Licensing_and_Law/forkin... http://ps2stuff.playstation2-linux.com/gcc_build.h... http://www.toad.com/gnu/cygnus/index.html http://www.ngine.de http://www.ngine.de/gccguide.html